package com.yunxiang.summer.activity;

import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.yunxiang.summer.R;

import java.util.ArrayList;
import java.util.List;

public class BaseActivity extends AppCompatActivity {
    // 底部导航项集合（首页、时光轴、喜欢、我的）
    private List<LinearLayout> navItems = new ArrayList<>();
    // 导航图标选择器ID（与navItems顺序对应）
    private int[] iconSelectors = {
            R.drawable.ic_nav_home_selector,
            R.drawable.ic_nav_time_line_selector,
            R.drawable.ic_nav_like_selector,
            R.drawable.ic_nav_baby_selector
    };
    // 导航文字（与navItems顺序对应）
    private String[] navTitles = {"首页", "时光轴", "喜欢", "宝宝"};
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        // 初始化底部导航
        initBottomNav();
    }
    /**
     * 初始化底部导航点击事件
     */
    private void initBottomNav() {

        //先初始化元素
        // 初始化导航项（绑定ID）
        navItems.add(findViewById(R.id.nav_home));
        navItems.add(findViewById(R.id.nav_time_line));
        navItems.add(findViewById(R.id.nav_like));
        navItems.add(findViewById(R.id.nav_mine));

        // 批量设置导航项的图标、文字和点击事件
        for (int i = 0; i < navItems.size(); i++) {
            LinearLayout navItem = navItems.get(i);
            // 设置图标（使用选择器）
            ImageView ivIcon = navItem.findViewById(R.id.iv_icon);
            ivIcon.setImageResource(iconSelectors[i]);
            // 设置文字和颜色（使用选择器）
            TextView tvTitle = navItem.findViewById(R.id.tv_title);
            tvTitle.setText(navTitles[i]);
            tvTitle.setTextColor(null);
            // 设置点击事件
            final int position = i;
            navItem.setOnClickListener(v -> onNavItemClick(position));
        }

        // 初始化默认选中首页
        onNavItemClick(0);

    }
    // 导航项点击事件
    private void onNavItemClick(int position) {
        // 重置所有导航项为未选中状态
        for (LinearLayout navItem : navItems) {
            navItem.setSelected(false);
        }
        // 设置当前导航项为选中状态
        navItems.get(position).setSelected(true);

        // 处理不同导航项的跳转逻辑
        switch (position) {
            case 0: // 首页
                // 显示首页内容
                startActivity(new Intent(this, MainActivity.class));
                break;
            case 1: // 时光轴
                // 跳转到时光轴页面（之前实现的逻辑）
                startActivity(new Intent(this, TimeLineActivity.class));
                break;
            case 2: // 喜欢
                // 显示喜欢页面
                break;
            case 3: // 我的
                // 显示个人中心页面
                break;
        }
    }

}
